/*! \file guiconstants.h	
	This contains the constants used for gui components.
*/

// Author: Adam Damiano
// Author: Leaf Corcoran
//

#ifndef GUI_CONSTANTS_H
#define GUI_CONSTANTS_H

#define FONT_DIRECTORY "../resources/fonts/" //!<
#define GUI_DIRECTORY "../resources/GUI/" //!<


/** Components have IDs*/
#define NO_ID          -1

#define TYPE_GUI         0 //!< currently unused
#define TYPE_COMPONENT   1 //!< currently unused
#define TYPE_CONTAINER   2 //!< currently unused
#define TYPE_MOUSELIST   3 //!< currently unused
#define TYPE_KEYLIST     4 //!< currently unused
#define TYPE_STATIC_TEXT 5 //!< currently unused

#define BUTTON_LABEL_PADDING_X 5 //!< padding on left side of button
#define BUTTON_LABEL_PADDING_Y 5 //!< padding on bottom of button

#define TEXT_INPUT_BUFFER 256 //!< max text input length

#define RESIZE_RIGHT 1
#define RESIZE_LEFT 2
#define RESIZE_TOP 4
#define RESIZE_BOTTOM 8

#define RESIZE_MIN_WIDTH 70
#define RESIZE_MIN_HEIGHT 70

#define RESIZE_BORDER 8
// this is the height from the top which you click to drag
// If a container is resizable, then resize takes priority, so this will
// be slightly smaller (DRAG_HEIGHT - RESIZE_BORDER)
#define DRAG_HEIGHT 15 



#endif
